//
//  NSObject+JZNFNotification.h
//  Exam
//
//  Created by mll on 14-6-11.
//  Copyright (c) 2014年 Changzhou Jinzhineng Software Co., Ltd. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "NSObject+JZNFNotification.h"

#pragma mark -

#define AS_NOTIFICATION( __name )	AS_STATIC_PROPERTY( __name )
#define DEF_NOTIFICATION( __name )	DEF_STATIC_PROPERTY3( __name, @"notify", [self description] )

#pragma mark -

@interface NSObject_JZNFNotification : NSObject
- (BOOL)is:(NSString *)name;
- (BOOL)isKindOf:(NSString *)prefix;

@end

@interface NSObject (CTBNotification)


+ (NSString *)NOTIFICATION;
+ (NSString *)NOTIFICATION_TYPE;

- (void)handleNotification:(NSNotification *)notification;

- (void)observeNotification:(NSString *)name;
- (void)unobserveNotification:(NSString *)name;
- (void)unobserveAllNotifications;

- (BOOL)postNotification:(NSString *)name;
- (BOOL)postNotification:(NSString *)name withObject:(NSObject *)object;
@end